from Models import *
from Global import *




class mImageWindow(QWidget):
    """主图像窗口类，提供图像查看功能。"""
    
    def __init__(self, parent=None) -> None:
        """初始化主图像窗口。
        
        Args:
            parent: 父级窗口部件，默认为None
        """
        super().__init__(parent)
        self.setWindowTitle("mainimage")
        # 设置窗口关闭时隐藏而不是销毁
        self.setAttribute(Qt.WA_DeleteOnClose, False)
        # 添加按钮用于销毁窗口
        self.setup_ui()

        
    def setup_ui(self):
        """设置带有销毁按钮的用户界面。"""
        layout = QVBoxLayout(self)
        # 添加销毁按钮
        self.destroy_button = QPushButton("销毁窗口")
        self.destroy_button.clicked.connect(self.destroy_window)
        layout.addWidget(self.destroy_button)
        
    def destroy_window(self):
        """销毁当前窗口对象。"""
        if self.parent():
            self.parent().show()
            self.deleteLater()
        else:
            QApplication.instance().quit()
        
    def closeEvent(self, event):
        """处理窗口关闭事件，通过隐藏窗口而不是关闭它。
        
        Args:
            event: 关闭事件
        """
        if self.parent():
            self.hide()
            self.parent().show()
            event.ignore()
        else:
            event.accept()

    

if __name__ == "__main__":
    app = QApplication()
    widget = mImageWindow()
    widget.show()
    app.exec_()
